// const BASE_URL = 'https://www.uinav.com'
const BASE_URL = 'https://api-ugo-dev.itheima.net'

// 公共请求方法

function request({
	url,
	data,
	isAuth,
	method,
	// 默认开启loading
	showLoading = true
}) {
	return new Promise((resolve, reject) => {
		let header = {} //如果无须登录态的话，传空对象的header

		//如果需要登录态
		if (isAuth) {
			let token = uni.getStorageSync('token');
			// 如果token为空,跳转登录页面
			if(!token){
				uni.navigateTo({
					url:'/pages/login/login'
				})
				return
			}
			header.Authorization = token
		}

		// 在Promise的构造函数里面放异步任务
		// 请求前开启loading 
		if (showLoading) {
			uni.showLoading({
				title: '加载中...',
				mask: true
			});
		}

		uni.request({
			url: BASE_URL + url,
			// data: data,
			data,
			header,
			method,
			success: res => {
				console.log(res);
				// 当状态码正确时,才获取数据
				let {
					meta,
					message
				} = res.data;
				if (meta.status === 200) {
					// 当请求返回正确数据时,resolve
					resolve(message)
				}
			},
			complete: () => {
				// 无论请求成功还是失败都关闭loading
				if (showLoading) {
					uni.hideLoading()
				}
			}
		});
	});
}

export default request
